package cn.daomeng.firebird.core.exception;

import cn.daomeng.firebird.core.mvc.ApiResponse;

/**
 * 异常返回信息处理类
 * @author wf.shu
 * @since 2019-03-06 14：15
 */
public class FirebirdExceptionResponseHandler {

    /**
     * 通过异常错误码及异常信息输出异常返回的基础信息对象
     *
     * @author  wf.Shu
     * @since   2019年03月06日 下午16:33:32
     * @param e CalorieException
     * @return apiResponse
     */
	@SuppressWarnings("rawtypes")
	public static ApiResponse hander(FirebirdException e) {
		int code = e.getBizCode().getCode();
		String message = e.getBizCode().getName();
		return ApiResponse.response(code ,null ,message);
	}

	/**
	 * JSR-303，Vaild校验一场信息输出
	 *
	 * @author  wf.Shu
	 * @since   2019年03月06日 下午16:33:32
	 * @param e CalorieException
	 * @return apiResponse
	 */
	public static ApiResponse vaildhander(FirebirdException e) {
		int code = e.getBizCode().getCode();
		String message = e.getMessage();
		return ApiResponse.response(code ,null ,message);
	}

	/**
	 * 通用错误类的处理
	 *
	 * @author  wf.Shu
	 * @since   2019年03月06日 下午16:33:32
	 * @param e CalorieException
	 * @return apiResponse
	 */
	@SuppressWarnings("rawtypes")
	public static ApiResponse hander(Exception e) {
		int code = BizCodeEnumDefault.INTERNAL_SERVER_ERROR.getValue();
		String message = BizCodeEnumDefault.INTERNAL_SERVER_ERROR.getName();
		return ApiResponse.response(code ,null ,message);
	}


}
